package com.ruoyi.project.system.mapper;

import java.util.List;
import java.util.Map;

import com.ruoyi.project.monitor.domain.TeamOrder;
import com.ruoyi.project.system.domain.SysQueryPay;
import com.ruoyi.project.system.domain.TiXian;

/**
 * 进件查询支付Mapper接口
 *
 * @author ruoyi
 * @date 2024-07-23
 */
public interface SysQueryPayMapper {

    List<Map<String, Object>> rankingList();

    List<Map<String, Object>> statistic(Long userId, String productId);

    int redPacketCount(Long userId);

    List<TiXian> tiXianList(Long userId);

    List<TiXian> srmxList(Long userId);

    Float sumBrokerage(Long userId);

    Float sumRoyaltyByParent(Long userId);

    Float sumRoyaltyRefund(Long userId);

    Float sumBrokerageRefund(Long userId);

    int groupCount(Long userId);

    Map<String, Double> groupIncome(Long userId);

    List<Map<String, String>> groupOrders(TeamOrder teamOrder);

    /**
     * 查询用户成功交易单数
     *
     * @param userId 用户id
     * @return 成功交易单数
     */
    int selectSuccessPayCount(Long userId);

    /**
     * 查询进件查询支付
     *
     * @param orderNo 进件查询支付主键
     * @return 进件查询支付
     */
    public SysQueryPay selectSysQueryPayByOrderNo(String orderNo);

    /**
     * 查询进件查询支付列表
     *
     * @param sysQueryPay 进件查询支付
     * @return 进件查询支付集合
     */
    public List<SysQueryPay> selectSysQueryPayList(SysQueryPay sysQueryPay);

    /**
     * 新增进件查询支付
     *
     * @param sysQueryPay 进件查询支付
     * @return 结果
     */
    public int insertSysQueryPay(SysQueryPay sysQueryPay);

    /**
     * 查询用户红包单
     *
     * @param userId 用户id
     * @return 用户红包单
     */
    public SysQueryPay redPacketOrder(Long userId);

    /**
     * 修改进件查询支付
     *
     * @param sysQueryPay 进件查询支付
     * @return 结果
     */
    public int updateSysQueryPay(SysQueryPay sysQueryPay);

    /**
     * 删除进件查询支付
     *
     * @param orderNo 进件查询支付主键
     * @return 结果
     */
    public int deleteSysQueryPayByOrderNo(String orderNo);

    /**
     * 批量删除进件查询支付
     *
     * @param orderNos 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysQueryPayByOrderNos(String[] orderNos);
}
